home *** CD-ROM | disk | FTP | other *** search
/ Cracking 2 / Cracking II..iso / Tools / ApiHooks 2.2 / examples / ASM / alternative2 / Alternative2DLL.bat < prev    next >
Encoding:
DOS Batch File  |  2000-04-08  |  1.8 KB  |  55 lines

  1. ;@GOTO TRANSLATE
  2.  
  3. .586P
  4.  
  5. .MODEL             FLAT, STDCALL
  6.  
  7.    OPTION          CASEMAP: NONE
  8.    INCLUDE         WINDOWS.inc
  9.    UNICODE         = TRUE
  10.    INCLUDE         APIMACRO.mac
  11.  
  12.    INCLUDE         ApiHooks.inc
  13.  
  14.    INCLUDELIB      iKERNEL32.lib
  15.    INCLUDELIB      iUSER32.lib
  16.  
  17.    INCLUDELIB      iApiHooks.lib
  18.  
  19. .DATA?
  20.    Exclude         DWORD ?, ?         ;null terminated by windows
  21.  
  22. ;------------------------------------------------------------------
  23. .CODE
  24.   DllMain:
  25.                    CMP      DWORD PTR [ESP+8], DLL_PROCESS_ATTACH
  26.                    JNE      @F
  27.                    PUSH     [ESP+4]  ;hinstDLL
  28.                    POP      Exclude  ;exclude me (my MessageBoxA)
  29.                    iWin32i  HookApi, sUSER32, sMessageBoxA, HOOK_ALL, ALL_MODULES,\
  30.                                      NULL, OFFSET NewMessageBoxA, OFFSET Exclude
  31.                  @@:
  32.                    MOV      EAX, TRUE
  33.                    RETN     12
  34. ;------------------------------------------------------------------
  35.   NewMessageBoxA   PROC     p1, p2, p3, p4 
  36.                    iWin32   MessageBoxA, p1, sUnhookMsg, p3, p4
  37.                    RET
  38.   NewMessageBoxA   ENDP
  39.  
  40.                    TEXTA    UnhookMsg, <From DLL/0>   
  41.  
  42. ;names-------------------------------------------------------------
  43.                    TEXT     USER32, <USER32.dll/0> 
  44.                    TEXT     MessageBoxA, <MessageBoxA/0> 
  45. ;names-------------------------------------------------------------
  46.  
  47. END  DllMain
  48.  
  49. :TRANSLATE
  50. @ECHO OFF
  51. ML    /c /coff  /nologo Alternative2DLL.bat
  52. eLINK Alternative2DLL /nologo /DLL /OUT:Alternative.dll /SUBSYSTEM:WINDOWS /MERGE:.idata=.text /MERGE:.rdata=.text /SECTION:.text,EWR /IGNORE:4078,4086 /BASE:0X77300000
  53. DEL   Alternative2DLL.obj
  54. PAUSE
  55. CLS